Over the last decade, malicious software has become a pervasive problem for Internet users as most networked resources include software vulnerabilities that are subject to attack. For instance, over the past few years, more and more vulnerabilities are being discovered in software that is loaded onto computers, such as vulnerabilities within operating systems for example. While some vulnerabilities continue to be addressed through software patches, prior to the release of such software patches, network resources continue to be targeted by exploits.
In general, an exploit is information that attempts to take advantage of a vulnerability by adversely influencing or attacking normal operations of a targeted computer. As an illustrative example, a Portable Execution Format (PDF) file may be infected with an exploit that is activated upon execution (opening) of the PDF file and takes advantage of a vulnerability associated with a certain type and version of a PDF Reader application.
Currently, one type of network security device widely used for detecting exploits is designed to identify packets suspected of containing known exploits, attempt to block/halt propagation of such exploits, and log/report information associated with such packets through an alert. In particular, this conventional network security device is implemented with a processor that is wholly responsible for performing packet processing, a static analysis and a dynamic analysis. This type of conventional network security device may experience certain disadvantages.
For instance, one disadvantage with conventional network security devices is that the packet processing, the static analysis and the dynamic analysis may simultaneously request limited resources of the network security device's processor. Such simultaneous need for the processor's resources inherently leads to one or more processes waiting on others to finish and subsequently relinquish the processor's resources. This dilemma limits the speed, efficiency and detection efficacy at which the network security device may analyze received network traffic, especially when the network traffic is being received at a high rate.